package cn.oms.oms.controller;


import cn.oms.oms.entity.Druginfo;
import cn.oms.oms.service.IDruginfoService;
import cn.oms.oms.vo.DrugInfoVo;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author AllenChen曾晨
 * @since 2022-04-29
 */
@RestController
@RequestMapping("/oms/drug")
@Slf4j
public class DruginfoController {

    @Autowired
    public IDruginfoService druginfoService;

    /**
     * 根据查询条件查询库存列表
     * @param drugInfoVo
     * @return
     */
    @PostMapping("/selectDrugInfoList")
    public PageInfo<Druginfo> selectDrugInfoList(DrugInfoVo drugInfoVo){
        if(drugInfoVo.getPageNum()==null||drugInfoVo.getPageNum()==0){
            drugInfoVo.setPageNum(1);
        }
        if(drugInfoVo.getPageSize()==null||drugInfoVo.getPageSize()==0){
            drugInfoVo.setPageSize(10);
        }
        log.debug("接收到信息:{}", drugInfoVo);
        PageInfo<Druginfo> pageInfo = druginfoService.selectDrugInfoList(drugInfoVo);
        return pageInfo;
    }

    /**
     * 查询详情
     * @param drugInfoVo
     * @return
     */
    @PostMapping("/selectDrugInfoDetail")
    public Druginfo selectDrugInfoDetail(DrugInfoVo drugInfoVo){
        log.debug("接收到信息:{}", drugInfoVo);
        Druginfo druginfo = druginfoService.selectDrugInfoDetail(drugInfoVo);
        return druginfo;
    }

    /**
     * 新增库存
     * @param drugInfoVo
     * @return
     */
    @PostMapping("/addDrugInfo")
    public String addDrugInfo(DrugInfoVo drugInfoVo){
        log.debug("接收到信息:{}", drugInfoVo);
        String res = druginfoService.addDrugInfo(drugInfoVo);
        return res;
    }
    /**
     * 修改库存
     * @param drugInfoVo
     * @return
     */
    @PostMapping("/updateDrugInfo")
    public String updateDrugInfo(DrugInfoVo drugInfoVo){
        log.debug("接收到信息:{}", drugInfoVo);
        String res = druginfoService.updateDrugInfo(drugInfoVo);
        return res;
    }
    /**
     * 删除库存
     * @param id
     * @return
     */
    @GetMapping("/deleteDrugInfo/{id}")
    public String deleteDrugInfo(@PathVariable Integer id){
        log.debug("接收到信息:{}", id);
        String res = druginfoService.deleteDrugInfo(id);
        return res;
    }

}
